package cn.tangsihai.basic.service;

import cn.tangsihai.basic.query.BasicQuery;
import cn.tangsihai.basic.util.PageList;
import java.util.List;

/**
 * service层基础crud，批量操作，分页查询
 * @param <T>
 */
public interface IBasicService<T> {
    // 根据id查询一个
    T findById(Long id);
    // 加载所有数据
    List<T> findAll();

    // 添加数据
    void save(T t);
    // 修改数据
    void update(T t);
    // 删除数据
    void delete(Long id);

    // 分页查询+高级查询
    PageList<T> queryList(BasicQuery query);

    // 批量删除
    void patchDelete(List<Long> ids);
}
